import type {
  IViewController,
  IIndexViewState,
  IViewEvent,
  IAppMenuController,
} from "@ibiz-template/runtime";
import { ViewEngineBase } from "@ibiz-template/runtime";
import type { IAppIndexView } from "@ibiz/model-core";

/**
 * 首页引擎
 *
 * @export
 * @class IndexViewEngine
 * @extends {ViewEngineBase}
 */
export class IndexViewEngine extends ViewEngineBase {
  protected declare view: IViewController<
    IAppIndexView,
    IIndexViewState,
    IViewEvent
  >;

  get appmenu(): IAppMenuController {
    return this.view.getController("appmenu") as IAppMenuController;
  }
}
